\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binder}{\section{strange.\-framework.\-api.\-I\-Binder Interface Reference}
\label{interfacestrange_1_1framework_1_1api_1_1_i_binder}\index{strange.\-framework.\-api.\-I\-Binder@{strange.\-framework.\-api.\-I\-Binder}}
}


Collection class for bindings.  


Inheritance diagram for strange.\-framework.\-api.\-I\-Binder\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.074074cm]{interfacestrange_1_1framework_1_1api_1_1_i_binder}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binder_a45eafa9336e6a40117f6c3259f75e72c}{\hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding}{I\-Binding} \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binder_a45eafa9336e6a40117f6c3259f75e72c}{Bind$<$ T $>$} ()}\label{interfacestrange_1_1framework_1_1api_1_1_i_binder_a45eafa9336e6a40117f6c3259f75e72c}

\begin{DoxyCompactList}\small\item\em Bind a Binding Key to a class or interface generic. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binder_a3eb45ea3d007b996ebf3b9a1df11ed81}{\hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding}{I\-Binding} \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binder_a3eb45ea3d007b996ebf3b9a1df11ed81}{Bind} (object value)}\label{interfacestrange_1_1framework_1_1api_1_1_i_binder_a3eb45ea3d007b996ebf3b9a1df11ed81}

\begin{DoxyCompactList}\small\item\em Bind a Binding Key to a value. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binder_ae6394be0eb4239d6f3617c9ab37a5f75}{\hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding}{I\-Binding} \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binder_ae6394be0eb4239d6f3617c9ab37a5f75}{Get\-Binding$<$ T $>$} ()}\label{interfacestrange_1_1framework_1_1api_1_1_i_binder_ae6394be0eb4239d6f3617c9ab37a5f75}

\begin{DoxyCompactList}\small\item\em Retrieve a binding based on the provided Type. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binder_af5ea19fff8928a8b47f868f760e098c4}{\hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding}{I\-Binding} \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binder_af5ea19fff8928a8b47f868f760e098c4}{Get\-Binding} (object key)}\label{interfacestrange_1_1framework_1_1api_1_1_i_binder_af5ea19fff8928a8b47f868f760e098c4}

\begin{DoxyCompactList}\small\item\em Retrieve a binding based on the provided object. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binder_a60783aa7cbbb257955fb78c189cea691}{\hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding}{I\-Binding} \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binder_a60783aa7cbbb257955fb78c189cea691}{Get\-Binding$<$ T $>$} (object name)}\label{interfacestrange_1_1framework_1_1api_1_1_i_binder_a60783aa7cbbb257955fb78c189cea691}

\begin{DoxyCompactList}\small\item\em Retrieve a binding based on the provided Key (generic)/\-Name combo. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binder_a54c2a6a2ff70790848cf090e062ee327}{\hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding}{I\-Binding} \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binder_a54c2a6a2ff70790848cf090e062ee327}{Get\-Binding} (object key, object name)}\label{interfacestrange_1_1framework_1_1api_1_1_i_binder_a54c2a6a2ff70790848cf090e062ee327}

\begin{DoxyCompactList}\small\item\em Retrieve a binding based on the provided Key/\-Name combo. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binder_aa3f5ba337aea4bed640c782ece96eb8b}{\hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding}{I\-Binding} \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binder_aa3f5ba337aea4bed640c782ece96eb8b}{Get\-Raw\-Binding} ()}\label{interfacestrange_1_1framework_1_1api_1_1_i_binder_aa3f5ba337aea4bed640c782ece96eb8b}

\begin{DoxyCompactList}\small\item\em Generate an unpopulated \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding}{I\-Binding} in whatever concrete form the Binder dictates. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binder_a0fcbcb628a76199699751ee7ced30acb}{void \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binder_a0fcbcb628a76199699751ee7ced30acb}{Unbind$<$ T $>$} ()}\label{interfacestrange_1_1framework_1_1api_1_1_i_binder_a0fcbcb628a76199699751ee7ced30acb}

\begin{DoxyCompactList}\small\item\em Remove a binding based on the provided Key (generic) \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binder_a48d5f4abf0835c9642cf99efe8743e40}{void \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binder_a48d5f4abf0835c9642cf99efe8743e40}{Unbind$<$ T $>$} (object name)}\label{interfacestrange_1_1framework_1_1api_1_1_i_binder_a48d5f4abf0835c9642cf99efe8743e40}

\begin{DoxyCompactList}\small\item\em Remove a binding based on the provided Key (generic) / Name combo. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binder_a8d35eb191d9980b0ee42379f86465ec8}{void \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binder_a8d35eb191d9980b0ee42379f86465ec8}{Unbind} (object key)}\label{interfacestrange_1_1framework_1_1api_1_1_i_binder_a8d35eb191d9980b0ee42379f86465ec8}

\begin{DoxyCompactList}\small\item\em Remove a binding based on the provided Key. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binder_a18a41d2d3b07391e0ffa928a0fa5f92f}{void \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binder_a18a41d2d3b07391e0ffa928a0fa5f92f}{Unbind} (object key, object name)}\label{interfacestrange_1_1framework_1_1api_1_1_i_binder_a18a41d2d3b07391e0ffa928a0fa5f92f}

\begin{DoxyCompactList}\small\item\em Remove a binding based on the provided Key / Name combo. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binder_a0abb09def546f2903c0cb37c45a616e7}{void \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binder_a0abb09def546f2903c0cb37c45a616e7}{Unbind} (\hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding}{I\-Binding} binding)}\label{interfacestrange_1_1framework_1_1api_1_1_i_binder_a0abb09def546f2903c0cb37c45a616e7}

\begin{DoxyCompactList}\small\item\em Remove the provided binding from the Binder. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binder_a390954ea1445824dccd05f5785da605d}{void \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binder_a390954ea1445824dccd05f5785da605d}{Remove\-Value} (\hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding}{I\-Binding} binding, object value)}\label{interfacestrange_1_1framework_1_1api_1_1_i_binder_a390954ea1445824dccd05f5785da605d}

\begin{DoxyCompactList}\small\item\em Remove a select value from the given binding. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binder_aa0389b8eb87da4dd5d0f16f8e5ef9736}{void \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binder_aa0389b8eb87da4dd5d0f16f8e5ef9736}{Remove\-Key} (\hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding}{I\-Binding} binding, object value)}\label{interfacestrange_1_1framework_1_1api_1_1_i_binder_aa0389b8eb87da4dd5d0f16f8e5ef9736}

\begin{DoxyCompactList}\small\item\em Remove a select key from the given binding. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binder_a1d683db48676ef933f3bd4ad53da40ed}{void \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binder_a1d683db48676ef933f3bd4ad53da40ed}{Remove\-Name} (\hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding}{I\-Binding} binding, object value)}\label{interfacestrange_1_1framework_1_1api_1_1_i_binder_a1d683db48676ef933f3bd4ad53da40ed}

\begin{DoxyCompactList}\small\item\em Remove a select name from the given binding. \end{DoxyCompactList}\item 
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binder_a7b0a2a64b0c105a1305fdccf7736839f}{void \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binder_a7b0a2a64b0c105a1305fdccf7736839f}{On\-Remove} ()}\label{interfacestrange_1_1framework_1_1api_1_1_i_binder_a7b0a2a64b0c105a1305fdccf7736839f}

\begin{DoxyCompactList}\small\item\em The Binder is being removed Override this method to clean up remaining bindings. \end{DoxyCompactList}\item 
void \hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binder_a973c34bf47d4101bc97da3572b4b3f75}{Resolve\-Binding} (\hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding}{I\-Binding} binding, object key)
\begin{DoxyCompactList}\small\item\em Places individual Bindings into the bindings Dictionary as part of the resolving process \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Collection class for bindings. 

Binders are a collection class (akin to Array\-List and Dictionary) with the specific purpose of connecting lists of things that are not necessarily related, but need some type of runtime association. Binders are the core concept of the Strange\-Io\-C framework, allowing all the other functionality to exist and further functionality to easily be created.

Think of each Binder as a collection of causes and effects, or actions and reactions. If the Key action happens, it triggers the Value action. So, for example, an Event may be the Key that triggers instantiation of a particular class.

\begin{DoxySeeAlso}{See Also}
\hyperlink{interfacestrange_1_1framework_1_1api_1_1_i_binding}{strange.\-framework.\-api.\-I\-Binding} 
\end{DoxySeeAlso}


\subsection{Member Function Documentation}
\hypertarget{interfacestrange_1_1framework_1_1api_1_1_i_binder_a973c34bf47d4101bc97da3572b4b3f75}{\index{strange\-::framework\-::api\-::\-I\-Binder@{strange\-::framework\-::api\-::\-I\-Binder}!Resolve\-Binding@{Resolve\-Binding}}
\index{Resolve\-Binding@{Resolve\-Binding}!strange::framework::api::IBinder@{strange\-::framework\-::api\-::\-I\-Binder}}
\subsubsection[{Resolve\-Binding}]{\setlength{\rightskip}{0pt plus 5cm}void strange.\-framework.\-api.\-I\-Binder.\-Resolve\-Binding (
\begin{DoxyParamCaption}
\item[{{\bf I\-Binding}}]{binding, }
\item[{object}]{key}
\end{DoxyParamCaption}
)}}\label{interfacestrange_1_1framework_1_1api_1_1_i_binder_a973c34bf47d4101bc97da3572b4b3f75}


Places individual Bindings into the bindings Dictionary as part of the resolving process 

Note that while some Bindings may store multiple keys, each key takes a unique position in the bindings Dictionary.

Conflicts in the course of fluent binding are expected, but Get\-Binding will throw an error if there are any unresolved conflicts. 

Implemented in \hyperlink{classstrange_1_1framework_1_1impl_1_1_binder_a59b9ca38325bf6cf4c55aa309e92d00c}{strange.\-framework.\-impl.\-Binder}, \hyperlink{classstrange_1_1extensions_1_1injector_1_1impl_1_1_cross_context_injection_binder_ad93ea865f14a6249af575633f6472a7e}{strange.\-extensions.\-injector.\-impl.\-Cross\-Context\-Injection\-Binder}, and \hyperlink{classstrange_1_1extensions_1_1command_1_1impl_1_1_signal_command_binder_a8968e1632b03d1f9223f8e66e721327f}{strange.\-extensions.\-command.\-impl.\-Signal\-Command\-Binder}.



The documentation for this interface was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
Strange\-Io\-C/scripts/strange/framework/api/I\-Binder.\-cs\end{DoxyCompactItemize}
